package com.gooluke.localcache.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * @author gooluke
 * 本地缓存注解
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LocalCache {

    /**
     * 缓存key
     * 支持SpEL表达式
     */
    String key() default "";

    /**
     * 缓存过期时间 0-表示永不过期
     */
    long timeout() default 0;

    /**
     * 缓存过期时间单位
     */
    TimeUnit timeUnit() default TimeUnit.SECONDS;

}
